package cn.wolfcode.p2p.bussness.service;


import cn.wolfcode.p2p.base.domain.Account;
import cn.wolfcode.p2p.base.util.Constants;
import cn.wolfcode.p2p.bussness.domain.AccountFlow;
import cn.wolfcode.p2p.bussness.domain.SystemAccount;

import java.math.BigDecimal;

public interface IAccountFlowService {
    int save(AccountFlow accountFlow);
    /**
     * 线下充值流水
     * @param account
     * @param amount
     */
    void createRechargeOfflineFlow(Account account, BigDecimal amount);

    /**
     * 投标冻结的流水
     * @param account
     * @param amount
     */
    void createCidFreecedGlow(Account account, BigDecimal amount);

    /**
     *  投标失败流水
     * @param bidRequestAccount
     * @param availableAmount
     */
    void createVBidFaileFlow(Account bidRequestAccount, BigDecimal availableAmount);

    /**
     * 生成借款成功的流水
     * @param createUserAccount
     * @param bidRequestAmount
     */
    void createRechargeMarageFlow(Account createUserAccount, BigDecimal bidRequestAmount);

    /**
     * 支付平台借款手续费流水
     * @param account
     * @param amount
     */
    void createAccountManagemrntChargeFlow(Account account, BigDecimal amount);

    /**
     * 借款成功
     * @param account
     * @param amount
     */
    void createBorrowSuressFlow(Account account, BigDecimal amount);

    /**
     *  投标流水
     * @param account
     * @param amount
     */
    void createVBidSuccessFlow(Account account, BigDecimal amount);

    /**
     *  生成退款流水
     * @param account
     * @param amount
     */
    void creagainReturnMoneyFlow(Account account, BigDecimal amount);


}
